﻿/*********************************************************
 * 开发人员：小兵
 * 创建时间：2012-10-18 14:53:14
 * 描述说明：
 * 
 * 更改历史：
 * 
 * *******************************************************/
namespace Mozlite.WebUI.Ribbon
{
    using System;
    using System.Web;
    using System.Data;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    using Mozlite.Components;

    /// <summary>
    /// 菜单项。
    /// </summary>
    public class MenuItem : Item
    {
        /// <summary>
        /// 初始化类<see cref="MenuItem"/>。
        /// </summary>
        /// <param name="root">节点实例对象。</param>
        /// <param name="parent">父用户组。</param>
        public MenuItem(XmlNode root, RoleLevel parent)
            : base(root, parent)
        {
            Items = new List<MenuItem>();
        }

        /// <summary>
        /// 初始化类<see cref="MenuItem"/>。
        /// </summary>
        /// <param name="root">节点实例对象。</param>
        /// <param name="parent">父用户组。</param>
        /// <param name="subItem">小按钮列表。</param>
        public MenuItem(XmlNode root, RoleLevel parent, bool subItem)
        {
            Items = new List<MenuItem>();
            foreach(XmlNode node in root)
            {
                if(node.NodeType == XmlNodeType.Comment)
                    continue;
                Items.Add(new MenuItem(node, parent));
            }
            IsSubItems = subItem && Items.Count > 0;
        }
        /// <summary>
        /// 获取是否为小按钮列表。
        /// </summary>
        public bool IsSubItems { get; private set; }
        /// <summary>
        /// 小按钮列表。
        /// </summary>
        public List<MenuItem> Items { get; private set; }
    }
}
